package com.wicket.okrbff.biz.service;

import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrframework.integration.FwBasePositionClient;
import com.wicket.okrframework.integration.dto.QueryPositionListRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffOrgPositionDto;
import cn.hutool.core.bean.BeanUtil;
import java.util.stream.Collectors;
import com.wicket.okrframework.integration.dto.AddPositionRespDto;
import com.wicket.okrframework.integration.dto.AddPositionReqDto;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrframework.integration.dto.UpdatePositionRespDto;
import com.wicket.okrframework.integration.dto.UpdatePositionReqDto;
import com.wicket.okrframework.integration.dto.QueryPositionDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionDetailReqDto;
import com.wicket.okrframework.integration.FwBaseInductionRecordClient;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffOrgGradeScopeDto;
import com.wicket.okrframework.integration.dto.AddPositionTitleRespDto;
import com.wicket.okrframework.integration.dto.AddPositionTitleReqDto;
import com.wicket.okrframework.integration.dto.UpdatePositionTitleRespDto;
import com.wicket.okrframework.integration.dto.UpdatePositionTitleReqDto;
import com.wicket.okrframework.integration.dto.QueryPositionTitleListRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionTitleListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffOrgPositionIdNameDto;
import com.wicket.okrframework.integration.dto.QueryPositionTitleDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionTitleDetailReqDto;
import com.wicket.okrframework.integration.dto.QueryInductionRecordListRespDto;
import com.wicket.okrframework.integration.dto.QueryInductionRecordListReqDto;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import com.wicket.okrframework.integration.dto.QueryPositionListBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionListBorderReqDto;
import com.wicket.okrframework.integration.dto.QueryStaffingPositionListRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffingPositionListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffPositionStaffingStatisticsDto;
import com.wicket.okrbff.biz.service.dto.common.BffOrgPositionStaffNumDto;
import com.wicket.okrframework.integration.dto.QueryNoRepPositionListRespDto;
import com.wicket.okrframework.integration.dto.QueryNoRepPositionListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffPositionDto;
import com.wicket.okrframework.integration.dto.QueryPositionDetailBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryPositionDetailBorderReqDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface PositionService {
    /**
   * B1-3查询职务详情(边界)
   */
    BffQueryPositionDetailRespDto queryPositionDetail(BffQueryPositionDetailReqDto reqDto);

    /**
   * B1-3编制去重职务列表（边界）
   */
    BffQueryNoRepPositionListRespDto queryNoRepPositionList(BffQueryNoRepPositionListReqDto reqDto);

    /**
   * B1-3查询带编制统计组织职务列表（边界）
   */
    BffQueryOrgPositionStaffNumListRespDto queryOrgPositionStaffNumList(BffQueryOrgPositionStaffNumListReqDto reqDto);

    /**
   * B1-3查询带编制统计职务列表（边界）
   */
    BffQueryPositionStaffNumListRespDto queryPositionStaffNumList(BffQueryPositionStaffNumListReqDto reqDto);

    /**
   * B1-3查询职务列表（边界）
   */
    BffQueryPositionListBorderRespDto queryPositionListBorder(BffQueryPositionListBorderReqDto reqDto);

    /**
   * B1-3查询可存档职务条件（管理）
   */
    BffQueryArchivePositionRespDto queryArchivePosition(BffQueryArchivePositionReqDto reqDto);

    /**
   * B1-3查询职务名称列表（边界）
   */
    BffQueryPositionTitleListBorderRespDto queryPositionTitleListBorder(BffQueryPositionTitleListBorderReqDto reqDto);

    /**
   * B1-3查询职务名称详情(管理）
   */
    BffQueryPositionTitleDetailRespDto queryPositionTitleDetail(BffQueryPositionTitleDetailReqDto reqDto);

    /**
   * B1-3查询职务名称列表(管理）
   */
    BffQueryPositionTitleListRespDto queryPositionTitleList(BffQueryPositionTitleListReqDto reqDto);

    /**
   * B1-3查询可存档职务名称条件(管理）
   */
    BffQueryArchivePositionTitleRespDto queryArchivePositionTitle(BffQueryArchivePositionTitleReqDto reqDto);

    /**
   * B1-3修改职务名称(管理）
   */
    BffUpdatePositionTitleRespDto updatePositionTitle(BffUpdatePositionTitleReqDto reqDto);

    /**
   * B1-3新增职务名称(管理）
   */
    BffAddPositionTitleRespDto addPositionTitle(BffAddPositionTitleReqDto reqDto);

    /**
     * B1-3存档职务（管理）
     */
    BffArchivePositionRespDto archivePosition(BffArchivePositionReqDto reqDto);

    /**
   * B1-3-修改职务
   */
    BffUpdatePositionRespDto updatePosition(BffUpdatePositionReqDto reqDto);

    /**
   * B1-3-新增职务（管理）
   */
    BffAddPositionRespDto addPosition(BffAddPositionReqDto reqDto);

    /**
   * B1-3查询职务列表（管理）
   */
    BffQueryPositionListRespDto queryPositionList(BffQueryPositionListReqDto reqDto);

    /**
   * B1-3批量更新职务（管理）
   */
    BffBatchUpdatePositionRespDto batchUpdatePosition(BffBatchUpdatePositionReqDto reqDto);

    /**
   * B1-3查询管理模式职务详情(管理)
   */
    BffQueryPositionMgtDetailRespDto queryPositionMgtDetail(BffQueryPositionMgtDetailReqDto reqDto);
    //
}
